import {getNoticeByCondition} from "../../../api/notice"
const app = getApp()
const {Toast} = app.globalData
Page({

  /**
   * 页面的初始数据
   */
  data: {
    limit:2,
    skip:0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onShow(options) {
    let viewHeight = await this.getViewHeight()
    let limit = Math.ceil((viewHeight - 100) / 200) 
    let ret = await getNoticeByCondition(limit,0)
    this.setData({
      noticeArr:ret.data,
      skip:limit
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    Toast.loading("加载中...")
    this.onShow()
    Toast.clear()
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    this.loadMoreNotice()
  },

  // 获取可视高度
  getViewHeight(){
    return new Promise(resolve=>{
      // 获取系统信息
      wx.getSystemInfo({
        success: function (res) {
          // 获取可使用窗口宽度
          let clientHeight = res.windowHeight;
          // 获取可使用窗口高度
          let clientWidth = res.windowWidth;
          // 算出比例
          let ratio = 750 / clientWidth;
          // 算出高度(单位rpx)
          let height = clientHeight * ratio;
          // 设置高度
          resolve(height)
        }
      });
    })

  },
  
  // 加载更多通知
  async loadMoreNotice(){
    let {limit,skip,noticeArr:oldNoticeArr} = this.data
    let ret = await getNoticeByCondition(limit,skip)
    if(ret.code == 200){
      let newNoticeArr = [...oldNoticeArr,...ret.data]
      this.setData({
        noticeArr:newNoticeArr,
        skip:skip+limit
      })
    }else{
      Toast.fail("没有更多啦~")
    }
  },

  // 前往通知详情
  toDetail(e){
    let {id} = e.currentTarget.dataset;
    id = id.trim()
    wx.navigateTo({
      url: './detail/index?id='+id,
    })
  }

})